package com.zp.common.core.constant;

/**
 * 缓存组名称常量
 * <p>
 * key 格式为 cacheNames#ttl#maxIdleTime#maxSize
 * <p>
 * ttl 过期时间 如果设置为0则不过期 默认为0
 * maxIdleTime 最大空闲时间 根据LRU算法清理空闲数据 如果设置为0则不检测 默认为0
 * maxSize 组最大长度 根据LRU算法清理溢出数据 如果设置为0则无限长 默认为0
 * <p>
 * 例子: test#60s、test#0#60s、test#0#1m#1000、test#1h#0#500
 *
 * @author zhang peng
 */
public interface CacheNames {

    /**
     * 演示案例
     */
    String DEMO_CACHE = "demo:cache#60s#10m#20";

    /**
     * 系统配置
     */
    String SYS_CONFIG = "sys_config";

    /**
     * 数据字典
     */
    String SYS_DICT = "sys_dict";

    /**
     * 系统基础数据
     */
    String SYS_BASE_DICT = "sys_base_dict";
    /**
     * OSS内容
     */
    String SYS_OSS = "sys_oss";

    /**
     * OSS配置
     */
    String SYS_OSS_CONFIG = "sys_oss_config";

    /**
     * 在线用户
     */
    String ONLINE_TOKEN = "online_tokens";

    /**
     * 药品分类
     */
    String DRUG_CLASSIFICATION = "drug_classification";

    /**
     * 药品剂型
     */
    String DRUG_FORM_DICT = "drug_form_dict";

    /**
     * 规格单位
     */
    String SPEC_UNIT = "spec_unit";

    /**
     * 计量单位
     */
    String DOSE_UNIT = "dose_unit";

    /**
     * 药品出入库方式
     */
    String DRUG_STORAGE_TYPE = "drug_storage_type";

    /**
     * 药品类别 （drug_class_dict表）
     */
    String DRUG_CLASS_DICT = "drug_class_dict";

    /**
     * 科室
     */
    String SYS_DEPT = "sys_dept";

    /**
     * 用户
     */
    String SYS_USER = "sys_user";

    /**
     * 药品库存单位字典
     */
    String DRUG_STORAGE_DEPT = "drug_storage_dept";

    /**
     * 生产商、供应商
     */
    String DRUG_SUPPLIER_CATA = "drug_supplier_cata";

    /**
     * 用户快捷方式
     */
    String SHORTCUT_NAVIGATION = "shortcut_navigation";

    /**
     * 检查类型
     */
    String EXAM_TYPE = "exam_type";

    /**
     * 检验类型
     */
    String LAB_TYPE = "lab_type";

    /**
     * 检验标本
     */
    String SPECIMAN_DICT = "speciman_dict";

    /**
     * 检验管
     */
    String LAB_TUBE = "lab_tube";

    /**
     * 频次
     */
    String PERFORM_FREQ_DICT = "perform_freq_dict";

    /**
     * 药品基本信息
     */
    String DRUG_INFO = "drug_info";

    /**
     * 支付类型
     */
    String PAY_WAY_DICT = "pay_way_dict";

    /**
     * 库存消耗类型字典
     */
    String STOCK_CONSUME_TYPE = "stock_consume_type";
}
